#!/bin/bash
LocalDir=$(cd "$(dirname $0)";pwd) # 当前脚本目录绝对路径


# 颜色定义
ya="\033[91m" # 告警色 红色
yb="\033[92m" # 正常账号 绿色
yc="\033[93m" # 账号 金色
yd="\033[95m" # 进程 紫色
ye="\033[96m" # 蓝色
yy="\033[0m" # 颜色结束语句


core_directory="/var/core"
max_core_files=10

# 配置 Core 文件目录和存储数量
function configure_core_settings() {
    read -p "请输入 Core 文件目录路径（默认为 /var/core）: " core_directory_input
    if [[ ! -z "$core_directory_input" ]]; then
        core_directory=$core_directory_input
    fi

    read -p "请输入 Core 文件存储数量（默认为 10）: " max_core_files_input
    if [[ ! -z "$max_core_files_input" ]]; then
        max_core_files=$max_core_files_input
    fi

    echo "Core 文件目录已设置为: $core_directory"
    echo "Core 文件存储数量已设置为: $max_core_files"
}

# 查看当前 Core 文件配置
function show_core_settings() {
    echo "当前 Core 文件设置："
    echo -e "${yc}== core文件的存储路径和文件格式:  例如 /var/core/core-%e-%p-%t${yy}"
    sysctl kernel.core_pattern

    echo -e "\n${yc}== core文件名是否记录下pid: 当kernel.core_pattern =/var/core/core.%p, kernel.core_uses_pid =1，那么生成的 Core 文件名将类似于 /var/core/core.1234，其中 1234 是实际进程的 PID${yy}"
    sysctl kernel.core_uses_pid

    echo -e "\n${yc}== 限制管道数量: 默认0, 表示没有限制同时打开的传输管道的数目。这意味着在生成 Core 文件时，内核不会限制传输管道的数目，可以同时打开任意数量的管道来传输 Core 文件${yy}"
    echo -e "\n${yc}这里并不是限制文件数量, 而是当有5个程序core掉, 因为core记录的文件大小很大, 可能会对系统有资源的消耗, 所以需要进行限制, 如果有限制的话, 且被限制上了, 那可能会导致在程序崩溃时无法生成 Core 文件${yy}"
    sysctl kernel.core_pipe_limit

}

# 主菜单
function main_menu() {
    clear
    echo "Core 文件配置和查看脚本"
    echo "1. 配置 Core 文件设置"
    echo "2. 查看当前 Core 文件设置"
    echo "0. 退出"
    read -p "请输入选项: " option

    case $option in
        1)
            configure_core_settings
            ;;
        2)
            show_core_settings
            ;;
        0)
            echo "退出脚本"
            exit 0
            ;;
        *)
            echo "无效选项"
            ;;
    esac

    read -p "按回车键返回主菜单"
    main_menu
}

# 启动主菜单
main_menu



写一个centos7编译安装mysql的shell脚本
去官网下载mysql的编译包可指定版本
有以下几个参数
--install 默认安装在/home/service目录, 后面可以指定安装路径,--version 指定安装的版本
--uninstall echo "uninstall Ok!"

./1.sh --install /home/service --version 3.0.0
